home *** CD-ROM | disk | FTP | other *** search
/ Gamers Delight 2 / Gamers Delight 2.iso / Aminet / game / board / Chaos53src.lha / chaos / src / Makefile < prev    next >
Makefile  |  1994-11-29  |  10KB  |  303 lines

  1. #   Chaos:            The Chess HAppening Organisation System    V5.3
  2. #   Copyright (C)   1993    Jochen Wiedmann
  3. #
  4. #   This program is free software; you can rdistribute it and/or modify
  5. #   it under the terms of the GNU General Public License as published by
  6. #   the Free Software Foundation; either version 2 of the License, or
  7. #   (at your option) any later version.
  8. #
  9. #   This program is distributed in the hope that it will be useful,
  10. #   but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. #   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12. #   GNU General Public License for more details.
  13. #
  14. #   You should have received a copy of the GNU General Public License
  15. #   along with this program; if not, write to the Free Software
  16. #   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  17. #
  18. #   This is the Makefile (DMake 2.1)
  19. #
  20.  
  21. VERSION=5_3
  22.  
  23. REVISION=3
  24.  
  25.  
  26. ############################################################################
  27. #   No special CFLAGS, except full error-checking and debugging
  28. #   You might include one of the following:
  29. #    -DAMIGA       Create Amiga executable
  30. #    -DDEBUG       Watch NULL pointers in strlen, strcpy, printf, ...
  31. #    -DDEBUG_PAIRINGS  Trace the pairing groups using printf
  32. #
  33. #   No special LFLAGS, except debugging
  34. #
  35. ############################################################################
  36.  
  37. ############################################################################
  38. #
  39. #   Use the following to compile with Dice.
  40. #
  41. ############################################################################
  42.  
  43. CC        = dcc
  44. CFLAGS        = -c -3.0 -proto
  45. #CDEBUG     = -s -d1 -DDEBUG
  46. CDEBUG        =
  47. OPTIMIZE    =
  48. SYMFILE     = Chaos.m
  49. SYMCFLAGS   = -H$(SYMFILE)=Chaos.h
  50.  
  51. LN        = dcc
  52. LFLAGS        = -3.0 -lmui -lm -lc -LPacked:MUI/Developer/C/DLib -o
  53. LDEBUG        = -s -d1
  54. #LDEBUG    =
  55. FROM        =
  56.  
  57.  
  58. ############################################################################
  59. #
  60. #   Use the following to compile with SAS-C.
  61. #
  62. ############################################################################
  63.  
  64. #CC         = sc
  65. #CFLAGS      = STACKCHECK UTILITYLIBRARY NOICONS STANDARDIO DEFINE AMIGA
  66. #CDEBUG      = DEBUG=FULLFLUSH
  67. ##CDEBUG     =
  68. #OPTIMIZE    =
  69. ##OPTIMIZE   = OPTIMIZE
  70. #SYMFILE     = Chaos.gst
  71. #SYMCFLAGS   = GLOBALSYMBOLTABLE $(SYMFILE)
  72. #
  73. #LN         = slink
  74. #LFLAGS      = FROM LIB:c.o LIBRARY LIB:amiga.lib LIBRARY LIB:scm.lib \
  75. #           LIBRARY LIB:sc.lib SMALLCODE SMALLDATA NOICONS TO
  76. #LDEBUG      = ADDSYM
  77. ##LDEBUG     =
  78. #FROM         = FROM
  79. #
  80.  
  81.  
  82. ############################################################################
  83. #
  84. #   Other binaries
  85. #
  86. ############################################################################
  87. CATCOMP=FlexCat
  88. CI=Ci
  89. CO=Co
  90. GTEX=GTeX
  91. TEX=TeX
  92. TEXINDEX=TexIndex
  93. RM=Delete quiet
  94. MAKEINFO=MakeInfo
  95. LHA=LhA
  96. CP=Copy
  97. MV=mv
  98.  
  99.  
  100.  
  101.  
  102.  
  103. ############################################################################
  104. #
  105. #   You should not need to change anything below.
  106. #
  107. ############################################################################
  108.  
  109. #   Object-files which need Chaos.h
  110. SYMOBJ        = main.o MainAmi.o Memory.o Project.o ProjectAmi.o Players.o \
  111.           PlayersAmi.o Pairings.o PairingsAmi.o Rounds.o RoundsAmi.o \
  112.           Out.o OutAmi.o OutDWZ.o ARexxAmi.o
  113.  
  114. #   Object-files which don't need Chaos.h
  115. AUTOOBJ     = DWZtabs.o Chaos_Cat.o
  116.  
  117. #   Doc-files
  118. DOC        = /doc/Chaos_deutsch.dvi /doc/Chaos_deutsch.guide \
  119.           /doc/Chaos_english.dvi /doc/Chaos_english.guide
  120.  
  121. #   Supported ARexx scripts
  122. AREXX        = /rexx/ChaosWindowOn.rexx /rexx/ChaosWindowOff.rexx \
  123.           /rexx/LoadTournament.rexx /rexx/SaveTournament.rexx \
  124.           /rexx/PrintTable.rexx /rexx/UpdateRatings.rexx
  125.  
  126. RCS        = $(AREXX) /Chaos.info /doc.info /COPYING.info /COPYING \
  127.           /Install /s/Chaos_Project.info /s/Chaos_Menu \
  128.           /Install.Deutsch.info /Install.English.info \
  129.           /doc/Chaos_deutsch.dvi.info /doc/Chaos_deutsch.guide.info \
  130.           /doc/Chaos_english.dvi.info /doc/Chaos_english.guide.info \
  131.           main.c MainAmi.c Memory.c Project.c ProjectAmi.c Players.c \
  132.           PlayersAmi.c Pairings.c PairingsAmi.c Rounds.c RoundsAmi.c \
  133.           Out.c OutAmi.c OutDWZ.c ARexxAmi.c DWZtabs.c Chaos.h \
  134.           Chaos.cd Deutsch.ct Chaos_deutsch.texinfo \
  135.           Chaos_english.texinfo
  136.  
  137.  
  138. #   Distribution-files
  139. DISTBIN     = Chaos.info Chaos/Chaos Chaos/rexx/ChaosWindowOn.rexx \
  140.           Chaos/rexx/ChaosWindowOff.rexx \
  141.           Chaos/rexx/LoadTournament.rexx \
  142.           Chaos/rexx/SaveTournament.rexx \
  143.           Chaos/rexx/PrintTable.rexx Chaos/rexx/UpdateRatings.rexx \
  144.           Chaos/Chaos.info Chaos/doc.info Chaos/COPYING.info \
  145.           Chaos/COPYING Chaos/Install Chaos/s/Chaos_Project.info \
  146.           Chaos/s/Chaos_Menu Chaos/Install.Deutsch.info \
  147.           Chaos/Install.English.info \
  148.           Chaos/doc/Chaos_deutsch.dvi Chaos/doc/Chaos_deutsch.dvi.info \
  149.           Chaos/doc/Chaos_deutsch.guide Chaos/doc/Chaos_deutsch.guide.info \
  150.           Chaos/doc/Chaos_english.dvi Chaos/doc/Chaos_english.dvi.info \
  151.           Chaos/doc/Chaos_english.guide Chaos/doc/Chaos_english.guide.info \
  152.           Chaos/catalogs/Deutsch/Chaos.catalog \
  153.           Chaos/Readme.mui Chaos/Readme.mui.info
  154.  
  155. DISTSRC     = Chaos/src/main.c Chaos/src/MainAmi.c Chaos/src/Memory.c \
  156.           Chaos/src/Project.c Chaos/src/ProjectAmi.c \
  157.           Chaos/src/Players.c Chaos/src/PlayersAmi.c \
  158.           Chaos/src/Pairings.c Chaos/src/PairingsAmi.c \
  159.           Chaos/src/Rounds.c Chaos/src/RoundsAmi.c \
  160.           Chaos/src/Out.c Chaos/src/OutAmi.c Chaos/src/OutDWZ.c \
  161.           Chaos/src/ARexxAmi.c Chaos/src/DWZtabs.c Chaos/src/Chaos.h \
  162.           Chaos/src/Chaos.cd Chaos/src/Deutsch.ct \
  163.           Chaos/src/Chaos_deutsch.texinfo \
  164.           Chaos/src/Chaos_english.texinfo Chaos/src/NewCatalog.ct \
  165.           Chaos/src/Chaos_Cat.c Chaos/src/Chaos_Cat.h \
  166.           Chaos/src/Makefile Chaos/src/NonAmiga.c Chaos/src/NonAmiga.h \
  167.           Chaos/src/PORTING
  168.  
  169.  
  170.  
  171. #   Main targets: all clean dist doc ci freeze
  172. all: /Chaos doc /Catalogs/Deutsch/Chaos.catalog
  173.  
  174. clean: binclean
  175.     $(RM) $(DOC) *.aux *.cp *.ky *.log *.pg *.toc *.tp *.vr *.cps \
  176.           Chaos_Cat.h Chaos_Cat.c
  177.  
  178. binclean:
  179.     $(RM) *.o *.sym *.dbg *.m *.gst
  180.  
  181. dist: all
  182.     cd //
  183.     $(RM) chaos$(VERSION)bin.lha chaos$(VERSION)src.lha
  184.     $(LHA) a -x chaos$(VERSION)bin.lha $(DISTBIN)
  185.     $(LHA) a -x chaos$(VERSION)src.lha $(DISTSRC)
  186.  
  187. doc:    $(DOC)
  188.  
  189. ci:
  190.     $(CI) -l$(REVISION) $(RCS)
  191.  
  192. freeze:
  193.     rcs -nV$(FREEZEVERSION): $(RCS)
  194.  
  195.  
  196. #   doc-Rules
  197. /doc/Chaos_deutsch.guide: Chaos_deutsch.texinfo
  198.     $(MAKEINFO) --amiga-39 --fill-column 76 \
  199.             --output Chaos_deutsch.guide Chaos_deutsch.texinfo
  200.     $(RM) /doc/Chaos_deutsch.guide
  201.     $(MV) Chaos_deutsch.guide /doc/Chaos_deutsch.guide
  202.  
  203. /doc/Chaos_english.guide: Chaos_english.texinfo
  204.     $(MAKEINFO) --amiga-39 --fill-column 76 \
  205.             --output Chaos_english.guide Chaos_english.texinfo
  206.     $(RM) /doc/Chaos_english.guide
  207.     $(MV) Chaos_english.guide /doc/Chaos_english.guide
  208.  
  209. /doc/Chaos_deutsch.dvi: Chaos_deutsch.texinfo
  210.     $(GTEX) Chaos_deutsch.texinfo
  211.     $(TEXINDEX) Chaos_deutsch.cp
  212.     $(GTEX) Chaos_deutsch.texinfo
  213.     $(RM) /doc/Chaos_deutsch.dvi
  214.     $(MV) Chaos_deutsch.dvi /doc/Chaos_deutsch.dvi
  215.     $(RM) *.fn *.cp *.vr *.tp *.ky *.pg *.aux *.log *.toc *.cps
  216.  
  217. /doc/Chaos_english.dvi: Chaos_english.texinfo
  218.     $(TEX) Chaos_english.texinfo
  219.     $(TEXINDEX) Chaos_english.cp
  220.     $(TEX) Chaos_english.texinfo
  221.     $(RM) /doc/Chaos_english.dvi
  222.     $(MV) Chaos_english.dvi /doc/Chaos_english.dvi
  223.     $(RM) *.fn *.cp *.vr *.tp *.ky *.pg *.aux *.log *.toc *.cps
  224.  
  225.  
  226. #   source-Rules
  227. /Chaos: $(SYMOBJ) $(AUTOOBJ)
  228.     $(LN) $(LFLAGS) /Chaos $(FROM) $(SYMOBJ) $(AUTOOBJ) $(LDEBUG)
  229.  
  230. main.o: main.c $(SYMFILE)
  231.     $(CC) $(CDEBUG) $(OPTIMIZE) $(SYMCFLAGS) $(CFLAGS) main.c
  232.  
  233. MainAmi.o: MainAmi.c $(SYMFILE)
  234.     $(CC) $(CDEBUG) $(OPTIMIZE) $(SYMCFLAGS) $(CFLAGS) MainAmi.c
  235.  
  236. Memory.o: Memory.c $(SYMFILE)
  237.     $(CC) $(CDEBUG) $(OPTIMIZE) $(SYMCFLAGS) $(CFLAGS) Memory.c
  238.  
  239. Project.o: Project.c $(SYMFILE)
  240.     $(CC) $(CDEBUG) $(OPTIMIZE) $(SYMCFLAGS) $(CFLAGS) Project.c
  241.  
  242. ProjectAmi.o: ProjectAmi.c $(SYMFILE)
  243.     $(CC) $(CDEBUG) $(OPTIMIZE) $(SYMCFLAGS) $(CFLAGS) ProjectAmi.c
  244.  
  245. Players.o: Players.c $(SYMFILE)
  246.     $(CC) $(CDEBUG) $(OPTIMIZE) $(SYMCFLAGS) $(CFLAGS) Players.c
  247.  
  248. PlayersAmi.o: PlayersAmi.c $(SYMFILE)
  249.     $(CC) $(CDEBUG) $(OPTIMIZE) $(SYMCFLAGS) $(CFLAGS) PlayersAmi.c
  250.  
  251. Pairings.o: Pairings.c $(SYMFILE)
  252.     $(CC) $(CDEBUG) $(OPTIMIZE) $(SYMCFLAGS) $(CFLAGS) Pairings.c
  253.  
  254. PairingsAmi.o: PairingsAmi.c $(SYMFILE)
  255.     $(CC) $(CDEBUG) $(OPTIMIZE) $(SYMCFLAGS) $(CFLAGS) PairingsAmi.c
  256.  
  257. Rounds.o: Rounds.c $(SYMFILE)
  258.     $(CC) $(CDEBUG) $(OPTIMIZE) $(SYMCFLAGS) $(CFLAGS) Rounds.c
  259.  
  260. RoundsAmi.o: RoundsAmi.c $(SYMFILE)
  261.     $(CC) $(CDEBUG) $(OPTIMIZE) $(SYMCFLAGS) $(CFLAGS) RoundsAmi.c
  262.  
  263. Out.o: Out.c $(SYMFILE)
  264.     $(CC) $(CDEBUG) $(OPTIMIZE) $(SYMCFLAGS) $(CFLAGS) Out.c
  265.  
  266. OutAmi.o: OutAmi.c $(SYMFILE)
  267.     $(CC) $(CDEBUG) $(OPTIMIZE) $(SYMCFLAGS) $(CFLAGS) OutAmi.c
  268.  
  269. OutDWZ.o: OutDWZ.c $(SYMFILE)
  270.     $(CC) $(CDEBUG) $(OPTIMIZE) $(SYMCFLAGS) $(CFLAGS) OutDWZ.c
  271.  
  272. ARexxAmi.o: ARexxAmi.c $(SYMFILE)
  273.     $(CC) $(CDEBUG) $(OPTIMIZE) $(SYMCFLAGS) $(CFLAGS) ARexxAmi.c
  274.  
  275. DWZtabs.o: DWZtabs.c
  276.     $(CC) $(CDEBUG) $(OPTIMIZE) $(CFLAGS) DWZtabs.c
  277.  
  278. Chaos_Cat.o: Chaos_Cat.c Chaos_Cat.h
  279.     $(CC) $(CDEBUG) $(OPTIMIZE) $(CFLAGS) Chaos_Cat.c
  280.  
  281.  
  282. #   Localizing stuff
  283. Chaos_Cat.c: Chaos.cd C_c_V20.sd
  284.     $(CATCOMP) Chaos.cd Chaos_Cat.c=C_c_V20.sd \
  285.            NEWCTFILE NewCatalog.ct
  286.  
  287. Chaos_Cat.h: Chaos.cd C_h.sd
  288.     $(CATCOMP) Chaos.cd Chaos_Cat.h=C_h.sd
  289.  
  290. /Catalogs/Deutsch/Chaos.catalog: Chaos.cd Deutsch.ct
  291.     $(CATCOMP) Chaos.cd Deutsch.ct CATALOG=/Catalogs/Deutsch/Chaos.catalog
  292.  
  293.  
  294. #   Dice-specific
  295. Chaos.m: Chaos.h Chaos_Cat.h
  296.     $(RM) Chaos.m
  297.  
  298.  
  299. #   SAS-specific
  300. Chaos.gst: Chaos.h Chaos_Cat.h
  301.     $(CC) $(CDEBUG) $(OPTIMIZE) $(CFLAGS) \
  302.           MAKEGLOBALSYMBOLTABLE Chaos.gst Chaos.h
  303.